package controller.commoncontroller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import model.editormodel.EditorModel;

/**
 * <b>Implementiert:</b> <code>ActionListener</code> <br>
 * <b>In Verbindung stehende Klassen:</b> <code>EditorModel</code><br>
 * <br>
 * Zugehoerige Controllerklasse zum Menueeintrag <i>Laden</i>. Zunaechst wird
 * der Benutzer gefragt, ob die aktuelle Schaltung gespeichert werden soll,
 * anschliessend wird das <code>EditorModel</code> angestossen eine vom Benutzer
 * ausgewaehlte Schaltung zu laden.
 * 
 * @author Team Locsi
 * 
 */
public class LoadCircuitListener implements ActionListener {

	private EditorModel eModel;

	/**
	 * Dieser Konstruktor erzeugt ein neues <code>LoadCircuitListener</code> -
	 * Objekt.
	 * 
	 * @param eModel
	 *            <code>EditorModel</code> - Referenz auf das
	 *            <code>EditorModel</code>
	 */
	public LoadCircuitListener(EditorModel eModel) {
		this.eModel = eModel;
	}

	/**
	 * Diese Methode ruft die loadDialog()-Methode von
	 * <code>UtilityDialogs</code> auf, die einen FileChooser oeffnet und mit
	 * dessen Hilfe eine Datei laedt.
	 */
	@Override
	public void actionPerformed(ActionEvent e) {
		UtilityDialogs.loadDialog(eModel, UtilityDialogs.XML_EXTENSION, this);
	}
}